1. Field of the Invention
The present invention relates to signal correlators for digital signal receivers and, more particularly, to a method and apparatus processing satellite positioning system signals in a mobile receiver.
2. Description of the Background Art
Global Positioning System (GPS) receivers use measurements from several satellites to compute position. GPS receivers normally determine their position by computing time delays between transmission and reception of signals transmitted from satellites and received by the receiver on or near the surface of the earth. The time delays multiplied by the speed of light provide the distance from the receiver to each of the satellites that are in view of the receiver.
More specifically, each GPS signal available for commercial use utilizes a direct sequence spreading signal defined by a unique pseudo-random noise (PN) code (referred to as the coarse acquisition (C/A) code) having a 1.023 MHz spread rate. Each PN code bi-phase modulates a 1575.42 MHz carrier signal (referred to as the L1 carrier) and uniquely identifies a particular satellite. The PN code sequence length is 1023 chips, corresponding to a one millisecond time period. One cycle of 1023 chips is called a PN frame or epoch.
GPS receivers determine the time delays between transmission and reception of the signals by performing a series of correlations between the incoming signals and internally generated PN signal sequences (also referred to as reference codes or PN reference codes). For each incoming signal, the correlation process can be lengthy, as both the time delay and the exact frequency of the signal are unknown. To test for the presence of a signal, the receiver is tuned to a particular frequency, and the incoming signal is correlated with the PN reference code having a particular code shift corresponding to a time delay. If no signal is detected, the PN reference code is shifted and the correlation is repeated for the next possible time delay. To find a given signal, receivers traditionally conduct a two dimensional search, checking each delay possibility over a range of frequencies. In addition, each individual correlation is typically performed over one or more milliseconds in order to allow sufficient signal averaging to distinguish the signal from the noise. Because many thousands frequency and time delay possibilities are checked, the overall acquisition process can take tens of seconds.
The measured time delays produced by the correlation process are referred to as “sub-millisecond pseudoranges”, since they are known modulo the 1 millisecond PN frame boundaries. By resolving the integer number of milliseconds associated with each measured time delay, then one has true, unambiguous pseudoranges. A set of four pseudoranges together with knowledge of absolute times of transmission of the GPS signals and satellite positions in relation to these absolute times is sufficient to solve for the position of the GPS receiver. The absolute times of transmission (or reception) are needed in order to determine the positions of the GPS satellites at the times of transmission and hence to compute the position of the GPS receiver.
Accordingly, each of the GPS satellites broadcasts a model of satellite orbit and clock data known as the satellite navigation message. The satellite navigation message is a 50 bit-per-second (bps) data stream that is modulo-2 added to the PN code with bit boundaries aligned with the beginning of a PN frame. There are exactly 20 PN frames per data bit period (20 milliseconds). The satellite navigation message includes satellite-positioning data, known as “ephemeris” data, which identifies the satellites and their orbits, as well as absolute time information (also referred to herein as “GPS time” or “time-of-day”) associated with the satellite signal. The absolute time information is in the form of a second of the week signal, referred to as time-of-week (TOW). This absolute time signal allows the receiver to unambiguously determine a time tag for when each received signal was transmitted by each satellite.
In some GPS applications, the signal strengths of the satellite signals are so low that either the received signals cannot be processed, or the time required to process the signals is excessive. Detecting attenuated signals requires each correlation to be performed over a relatively long period of time. For example integration may be performed over a few seconds, as opposed to the 1-10 millisecond period used in traditional GPS receivers. The two dimensional sequential search process employed by traditional receivers becomes impractical at such long integration times, because the overall search time increases by a factor of 100 or more. Moreover, the pseudoranges measured by the process may be inaccurate, since the receiver performs the correlations at a coarse spacing, such as one-half chip, for example.
To accelerate the search process, GPS designers add additional correlators to the receiver so that multiple time delay possibilities can be checked simultaneously. Typically, each correlator that is added requires a separate code mixer and signal accumulator. For a given sensitivity level, this decreases search times in proportion to the number of correlators. To achieve the sensitivity and acquisition time demanded in low signal-to-noise ratio environments, the design might have to incorporate many thousands of correlators. This addition is typically prohibitively complex and expensive for a consumer class device.
Therefore, there exists a need in the art for improved, low cost processing of satellite positioning system signals in a mobile receiver.